import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
from collections import Counter

plt.rcParams["font.sans-serif"] = ["Microsoft YaHei"]
# fm._load_fontmanager(try_read_cache=False)
plt.rcParams["axes.unicode_minus"] = False

ids = [
    6917559067092904725,
    6917559133889396578,
    6917559134045802769,
    6917559138770331354,
    6917559303873561126,
    6917559384755888642,
    6917559398244134093,
    6917559401760179700,
    6917559412599401190,
    6917559420741644814,
    6917559471584581139,
    6917559493442858602,
    6917559997337903225,
    6917560000979877756,
    6917560003449022390,
    6917560016672900552,
    6917560022799490908,
    6917560032190348725,
    6917560035472143514,
    6917560097545123074,
    6917560114894371183,
    6917560116974261759,
    6917560117815577197,
    6917560205485137936,
    6917560219685269679,
    6917560357923094834,
    6917560359557165039,
    6917560360240524900,
    6917560360709703524,
    6917560367071284350,
    6917560369767958844,
    6917560371028950738,
    6917560376650687643,
    6917560377845767304,
    6917560379007636106,
    6917560381488384466,
    6917560393396693554,
    6917560460010884000,
    6917560575682608482,
    6917560627823550829,
    6917560704310608396,
    6917560709064556659,
    6917560710101080351,
    6917560737288133186,
    6917560746533032980,
    6917560816735994213,
    6917560821003140355,
    6917560825146198131,
    6917560886804598306,
    6917560887149340958,
    6917560893620646027,
    6917560993344198571,
    6917561085175127541,
    6917561518769085516,
    6917561528753048064,
    6917561531299586643,
    6917561531516369629,
    6917561876875467950,
    6917561964332820229,
    6917561975170776755,
    6917562040228930950,
    6917562054572335088,
    6917562055503460269,
    6917562062336371751,
    6917562075088579386,
    6917562075336537411,
    6917562117895025847,
    6917562146058315651,
    6917562225022681009,
    6917562236242776348,
    6917562410160572883,
    6917562416591618661,
    6917562428991776541,
    6917562482635766975,
    6917562486213978168,
    6917562688923896242,
    6917562745019942088,
    6917562776558909659,
    6917562852705310360,
    6917562860125809446,
    6917563099052308461,
    6917563105682348563,
    6917563117770958650,
    6917563207242249463,
    6917563210700492667,
    6917563223688686071,
    6917563237338118044,
    6917563291128459951,
    6917563291504975184,
    6917563296127491191,
    6917563298033320511,
    6917563468930580059,
    6917563480243169326,
    6917563579888284722,
    6917564619841120088,
    6917564622717528193,
    6917564629425766301,
    6917564778013159272,
    6917564780618548498,
    6917564793736383697,
    6917564959803455829,
    6917564970631252633,
    6917564976901691766,
    6917564985169913377,
    6917565043182531729,
    6917565046382915188,
    6917565076343758158,
    6917565094283006496,
    6917565153716200892,
    6917565156154031520,
    6917565236304419581,
    6917565236820358923,
    6917565246979711402,
    6917565310512394006,
    6917565314981312253,
    6917565574002278537,
    6917565599821793630,
    6917565660152131290,
    6917565664998051521,
    6917565870594334636,
    6917565942084007761,
    6917565943860685251,
    6917565953574060639,
    6917565957880247226,
    6917566017622549052,
    6917566063314023436,
    6917566191412430845,
    6917566197931927039,
    6917566211793472365,
    6917566222814723239,
    6917566321854000108,
    6917566387572153879,
    6917566394688812964,
    6917566464181517375,
    6917566468465598293,
    6917566474084827743,
    6917566478212166079,
    6917566499590326510,
    6917566575432550076,
    6917566817971156151,
    6917566833160823598,
    6917566846658886649,
    6917566919498041725,
    6917566928267548033,
    6917566934976224854,
    6917566993800467538,
    6917567017504378639,
    6917567017681643560,
    6917567167085444581,
    6917567181066388033,
    6917567203004320643,
    6917567444557272466,
    6917567452818117549,
    6917567456642765442,
    6917567523845082942,
    6917567536628152812,
    6917567633286766831,
    6917567634375078570,
    6917567700496198485,
    6917567701215083667,
    6917567702950680722,
    6917567710066214761,
    6917567718859823527,
    6917567739868344603,
    6917567787357484836,
    6917567802056933230,
    6917567813592498077,
    6917568071787569667,
    6917568080012408938,
    6917568141487931223,
    6917568146894041465,
    6917568155815349841,
    6917568155867117123,
    6917568155924191221,
    6917568163513164194,
    6917568178765577243,
    6917568232894241582,
    6917568244069189304,
    6917568256496536565,
    6917568333869851906,
    6917568334958783334,
    6917568406010735924,
    6917568413523373824,
    6917568420318492071,
    6917568427686399547,
    6917568684925813728,
    6917568686446279577,
    6917568700381956905,
    6917568776164361876,
    6917568780751830075,
    6917568870394557501,
    6917568938793065918,
    6917568961486342650,
    6917569030984833585,
    6917569038087003052,
    6917569052153882551,
    6917569291506932314,
    6917569292929922757,
    6917569318010805689,
    6917569377845353543,
    6917569485257269136,
    6917569486553345803,
    6917569570277780051,
    6917569918648344075,
    6917569934682582171,
    6917569997730677191,
    6917570016157632951,
    6917570016747996902,
    6917570019123797324,
    6917570028795781894,
    6917570086327441425,
    6917570106963681171,
    6917570114906081657,
    6917570176151307733,
    6917570354807479059,
    6917570551722000484,
    6917570552826557585,
    6917570619142111660,
    6917570721961751670,
    6917570724954922869,
    6917570809100773694,
    6917570879877334254,
    6917570883820831744,
    6917570930642172876,
    6917571253141233263,
    6917571258477204267,
    6917571259095375000,
    6917571259236472421,
    6917571259266496564,
    6917571291306803206,
    6917571419801602200,
    6917571443665619579,
    6917571499894472360,
    6917571502880023032,
    6917571524421821540,
    6917571524753859612,
    6917571695489807926,
    6917571764302302174,
    6917571769447717642,
    6917571785463641273,
    6917571853144544646,
    6917571887876321708,
    6917572591656122449,
    6917572608391425552,
    6917572656972399306,
    6917572660858583452,
    6917572676822904752,
    6917572680058311502,
    6917572687498763582,
    6917572757305015835,
    6917572774833520026,
    6917573006876355131,
    6917573096489696019,
    6917573101074807106,
    6917573126609041781,
    6917573213328913064,
    6917573276924071425,
    6917573277348776991,
    6917573302799391418,
    6917573362181547164,
    6917573382401539435,
    6917573585413902005,
    6917573640860272562,
    6917573641049123996,
    6917573734435800604,
    6917573740759225495,
    6917573751208600902,
    6917573801935416645,
    6917573824998082323,
    6917573895356098652,
    6917573918157910128,
    6917573979677013832,
    6917574006467689797,
    6917574019416029772,
    6917574246871563021,
    6917574264000576695,
    6917574338158023289,
    6917574429568883480,
    6917574443801846424,
    6917574447429893910,
    6917574535600529448,
    6917574541563381540,
    6917574598904092861,
    6917574976217876004,
    6917575067983185084,
    6917575134657854747,
    6917575311663266475,
    6917575490299182232,
    6917575509220196305,
    6917575575408218940,
    6917575661079128716,
    6917575679104783651,
    6917575753821375390,
    6917575858057085913,
    6917575860766586696,
    6917575866364310009,
    6917575866685513354,
    6917575958166941359,
    6917576197588451170,
    6917576235577038493,
    6917576279784877416,
    6917576295788199458,
    6917576300561578512,
    6917576307501285152,
    6917576375592622627,
    6917576402744458295,
    6917576402800277946,
    6917576402836335409,
    6917576408015097122,
    6917576475972072500,
    6917576717883984780,
    6917576738961742174,
    6917576746863481956,
    6917576831657242708,
    6917576838011464105,
    6917576840732263707,
    6917576900212907117,
    6917576927888074686,
    6917576930545322977,
    6917576932148095488,
    6917576940755480783,
    6917576940937516838,
    6917577000161084568,
    6917577059663585648,
    6917577102515049362,
    6917577107922628002,
    6917577215231968912,
    6917577357430542006,
    6917577366083803646,
    6917577523340136817,
    6917577556043683664,
    6917577608495032307,
    6917577610502993507,
    6917577631815379178,
    6917577632412366525,
    6917577636815176767,
    6917577695179142759,
    6917577717658219018,
    6917577724097706474,
    6917577958854196186,
    6917577960687346606,
    6917577979684902601,
    6917577987944692812,
    6917578051954011073,
    6917578138102252853,
    6917578161415908682,
    6917578188665242045,
    6917578251889260085,
    6917578316848879478,
    6917578317332560838,
    6917578447188324130,
    6917578507629570170,
    6917578582112392152,
    6917578599493067933,
    6917578686708629725,
    6917578687991471628,
    6917578688674420438,
    6917578692300573036,
    6917578692333675400,
    6917578692387873206,
    6917578692574225470,
    6917578692636011923,
    6917578692662639959,
    6917578699992887492,
    6917578760611503363,
    6917578760838222780,
    6917578765005754628,
    6917578770315317581,
    6917578775068060754,
    6917578784319508782,
    6917578862955495789,
    6917579204242408693,
    6917579225552804790,
    6917579228881782950,
    6917579239157145442,
    6917579289926830479,
    6917579376362825132,
    6917579376438235077,
    6917579391317018485,
    6917579396543754423,
    6917579396827892247,
    6917579398650094850,
    6917579398764211888,
    6917579463884377800,
    6917579467896896023,
    6917579467957398691,
    6917579468318334031,
    6917579481419733036,
    6917579481548672307,
    6917579481657486503,
    6917579482035836615,
    6917579483636624783,
    6917579485045643218,
    6917579487480054115,
    6917579487579276927,
    6917579487928953245,
    6917579489043911160,
    6917579552664360656,
    6917579553940176637,
    6917579555007589063,
    6917579559883955308,
    6917579559966314556,
    6917579560020898030,
    6917579570568018925,
    6917579576418685679,
    6917579639667280711,
    6917579819044138181,
    6917579825198511052,
    6917579834216830892,
    6917579834299978384,
    6917579850167889478,
    6917579869627805184,
    6917579909399554082,
    6917579910182667133,
    6917579912917767311,
    6917579918742046059,
    6917579936380018938,
    6917579998279697395,
    6917580014499382681,
    6917580023464993255,
    6917580023517309324,
    6917580096481124828,
    6917580102548004726,
    6917580106110480044,
    6917580107948715072,
    6917580108026803278,
    6917580110362490496,
    6917580172850832889,
    6917580177192181778,
    6917580180753357071,
    6917580186928988092,
    6917580208438021950,
    6917580277125138404,
    6917580282478469640,
    6917580283995146013,
    6917580441800186164,
    6917580461600672398,
    6917580461811772382,
    6917580465097630718,
    6917580465451729932,
    6917580468786260416,
    6917580469924515654,
    6917580523257281292,
    6917580528060580855,
    6917580528838849655,
    6917580529011503786,
    6917580529554980795,
    6917580535058453529,
    6917580550907212909,
    6917580616507861692,
    6917580623403769742,
    6917580631710855718,
    6917580635741745492,
    6917580639660003909,
    6917580644886355030,
    6917580653876352103,
    6917580661017558681,
    6917580709428163146,
    6917580710859181468,
    6917580722057573046,
    6917580722533793464,
    6917580722586123103,
    6917580722675122381,
    6917580723159615921,
    6917580733056345023,
    6917580737767791003,
    6917580738752069482,
    6917580742011695575,
    6917580790669729735,
    6917580791028533517,
    6917580793224587136,
    6917580800951116597,
    6917580809231593614,
    6917580809608192861,
    6917580817246785689,
    6917580821158051073,
    6917580824315773857,
    6917580831044194875,
    6917580881179602000,
    6917580889471838508,
    6917580889571294596,
    6917580889678389219,
    6917580892955887648,
    6917580895855038880,
    6917580900351627376,
    6917580987457436303,
    6917581057804059330,
    6917581068644479898,
    6917581092117358438,
    6917581141380158822,
    6917581148055679079,
    6917581148312933859,
    6917581152397995717,
    6917581164627412124,
    6917581167048208704,
    6917581168738154420,
    6917581169083854086,
    6917581175381299601,
    6917581233003622374,
    6917581235268169281,
    6917581246205083775,
    6917581249800009542,
    6917581249924000347,
    6917581250012792823,
    6917581270149644774,
    6917581286797176881,
    6917581321877799514,
    6917581322722941979,
    6917581326384981808,
    6917581326573410849,
    6917581329466667663,
    6917581341923944223,
    6917581342101087968,
    6917581343528676842,
    6917581344307508608,
    6917581345798981836,
    6917581349076424258,
    6917581350656450043,
    6917581351120788023,
    6917581408869642091,
    6917581411455385270,
    6917581414859639831,
    6917581429441031433,
    6917581432942257922,
    6917581435347870296,
    6917581435654194158,
    6917581435962452173,
    6917581436201221709,
    6917581436423214859,
    6917581439889763005,
    6917581488322736351,
    6917581496834525126,
    6917581499008571810,
    6917581503989816407,
    6917581509377615640,
    6917581515890437510,
    6917581576706636714,
    6917581590296121666,
    6917581595850083390,
    6917581599909742871,
    6917581604376071830,
    6917581613269904364,
    6917581623581453977,
    6917581676414874129,
    6917581679923240987,
    6917581682942509353,
    6917581685024498876,
    6917581689225382447,
    6917581694418584558,
    6917581705754434146,
    6917581706026861856,
    6917581715853662649,
    6917581716156694662,
    6917581724404853843,
    6917581726356529829,
    6917581771238739777,
    6917581780949855841,
    6917581782497186700,
    6917581783577779401,
    6917581788029550089,
    6917581790608539164,
    6917581809463932505,
    6917581853836406760,
    6917581855151732154,
    6917581855918947972,
    6917581855952010878,
    6917581856035148895,
    6917581856089471574,
    6917581856118665464,
    6917581856231708622,
    6917581861069930066,
    6917581867584077332,
    6917581876945377637,
    6917581877515507899,
    6917581878282051763,
    6917581880248955070,
    6917581881422029525,
    6917581881476517354,
    6917581881490074187,
    6917581881528170237,
    6917581881857097295,
    6917581881926191450,
    6917581884478456091,
    6917581942662058055,
    6917581946582985045,
    6917581946740345874,
    6917581947322434703,
    6917581947347795150,
    6917581948836789179,
    6917581950265697779,
    6917581957478338335,
    6917581958991727693,
    6917581963455000932,
    6917581969625461696,
    6917581969628657132,
    6917581975121583905,
    6917581976089438838,
    6917581981929388164,
    6917582025535987184,
    6917582027619255006,
    6917582032785573787,
    6917582034094762386,
    6917582034278597720,
    6917582035282913185,
    6917582035844402346,
    6917582040807317308,
    6917582046787330360,
    6917582046924394928,
    6917582047983090763,
    6917582049322972736,
    6917582053601850361,
    6917582054364733895,
    6917582078787899138,
    6917582083137940642,
    6917582135195271081,
    6917582142518834865,
    6917582165551504213,
    6917582217799942025,
    6917582221051409677,
    6917582234527762291,
    6917582239979877549,
    6917582257697718930,
    6917582257767513978,
    6917582293540250385,
    6917582294775880655,
    6917582295219083304,
    6917582298171177226,
    6917582303034986083,
    6917582308180359750,
    6917582316351212471,
    6917582317358748027,
    6917582319868409659,
    6917582322055455790,
    6917582335421234320,
    6917582335829576143,
    6917582335953462424,
    6917582336369586203,
    6917582384287805514,
    6917582386834249119,
    6917582388857844947,
    6917582392323636472,
    6917582392901817303,
    6917582398462867844,
    6917582400846518090,
    6917582404207374151,
    6917582404615642557,
    6917582405596160459,
    6917582408200011342,
    6917582416763971034,
    6917582417495202735,
    6917582423733096431,
    6917582425207124409,
    6917582426635842255,
    6917582469261006938,
    6917582472107920020,
    6917582474678387686,
    6917582474974534862,
    6917582479752260075,
    6917582487559487962,
    6917582490766932872,
    6917582491041972591,
    6917582491986843736,
    6917582492571721343,
    6917582498602997384,
    6917582498641225354,
    6917582499094936004,
    6917582500009432247,
    6917582502415600029,
    6917582507226162047,
    6917582507286545786,
    6917582516140382012,
    6917582517000977804,
    6917582563464205266,
    6917582563940938482,
    6917582567154879698,
    6917582576205662530,
    6917582577080338260,
    6917582581461399770,
    6917582585775691945,
    6917582585846126240,
    6917582589020531160,
    6917582592889072750,
    6917582595582942418,
    6917582606873287353,
    6917582617450476322,
    6917582623424777445,
    6917582650143152962,
    6917582650991776075,
    6917582651488979225,
    6917582651590622115,
    6917582651840220164,
    6917582651884013844,
    6917582652203912674,
    6917582655891050574,
    6917582665837531391,
    6917582666288639140,
    6917582669626131262,
    6917582670780645322,
    6917582671065341934,
    6917582671100129693,
    6917582673665601872,
    6917582674351909808,
    6917582677131523899,
    6917582679044524524,
    6917582684928681644,
    6917582693142448027,
    6917582696459704457,
    6917582740193625117,
    6917582741623384861,
    6917582742543744272,
    6917582753968250213,
    6917582787555550247,
    6917582822903084983,
    6917582836887453255,
    6917582840859348667,
    6917582847714036185,
    6917582859392564954,
    6917582859482899291,
    6917582863041535812,
    6917582870117625124,
    6917582870226220714,
    6917582874465808359,
    6917582875322910006,
    6917582911696407514,
    6917582912137129031,
    6917582913579506046,
    6917582917066659070,
    6917582921076925091,
    6917582921299967633,
    6917582927712855605,
    6917582930249724708,
    6917582932760295044,
    6917582935306339896,
    6917582935637516711,
    6917582941360775100,
    6917582943381632675,
    6917582947215272222,
    6917582952461746669,
    6917582952674940020,
    6917582956249974683,
    6917582963761037964,
    6917582999043036041,
    6917583005836244466,
    6917583008504833279,
    6917583009543718816,
    6917583010681683036,
    6917583013674821669,
    6917583020175578357,
    6917583023367078835,
    6917583029779617000,
    6917583029846441705,
    6917583033022758810,
    6917583034420693126,
    6917583046228646879,
    6917583048828265737,
    6917583090757071641,
    6917583092939749750,
    6917583096924077239,
    6917583099008840583,
    6917583104875559597,
    6917583115117256240,
    6917583118190034019,
    6917583118571623388,
    6917583121426115880,
    6917583126706025047,
    6917583133894105794,
    6917583180782864817,
    6917583192883250643,
    6917583193401088948,
    6917583195278542781,
    6917583204395227398,
    6917583219246809580,
    6917583219503417224,
    6917583220442027967,
    6917583222646167081,
    6917583225676956590,
    6917583227583869950,
    6917583229016468851,
    6917583264885786250,
    6917583267507621055,
    6917583271540398443,
    6917583275305483943,
    6917583284813708859,
    6917583286418773132,
    6917583288939643082,
    6917583296257812987,
    6917583299147370650,
    6917583299393012339,
    6917583302635206456,
    6917583302749344554,
    6917583303333837580,
    6917583307141716702,
    6917583309301210133,
    6917583311463493135,
    6917583311783268375,
    6917583311934182972,
    6917583362843053176,
    6917583367962140129,
    6917583369954714744,
    6917583371870121691,
    6917583378448071704,
    6917583380902433644,
    6917583380944687641,
    6917583390460480081,
    6917583395921881975,
    6917583399282092701,
    6917583400624187016,
    6917583465089305481,
    6917583466674089726,
    6917583468375714205,
    6917583472131286950,
    6917583481436182016,
    6917583481484413379,
    6917583494172916136,
    6917583531401193545,
    6917583531815179970,
    6917583532301978587,
    6917583532446760016,
    6917583532524127770,
    6917583538575098349,
    6917583538680478425,
    6917583548598000741,
    6917583549485200032,
    6917583551346946581,
    6917583553262341444,
    6917583560840896019,
    6917583561716228418,
    6917583566405411700,
    6917583578373745293,
    6917583596079236953,
    6917583622692043597,
    6917583625471428142,
    6917583629099130038,
    6917583640975270235,
    6917583650713903295,
    6917583651711338956,
    6917583652792628434,
    6917583656220575303,
    6917583661234668210,
    6917583663710374046,
    6917583664662425854,
    6917583671975209364,
    6917583708336337473,
    6917583709358005339,
    6917583727675020957,
    6917583727675732329,
    6917583728375471080,
    6917583734419616466,
    6917583736090768619,
    6917583737580426767,
    6917583737601521272,
    6917583739611963792,
    6917583750330049756,
    6917583796837252322,
    6917583798640125780,
    6917583798712391183,
    6917583803439948278,
    6917583807979294088,
    6917583814051666352,
    6917583816206576322,
    6917583816625373824,
    6917583816696099344,
    6917583817307454834,
    6917583821668282821,
    6917583823172010838,
    6917583823733563726,
    6917583840639055001,
    6917583880893488931,
    6917583884067487388,
    6917583885732283878,
    6917583911571156656,
    6917583912545850450,
    6917583914153825581,
    6917583924349769517,
    6917583935846832194,
    6917583949302654583,
    6917583974684958321,
    6917583999694948377,
    6917584007873268157,
    6917584010782440349,
    6917584041739720322,
    6917584074797981171,
    6917584088593198682,
    6917584090455349734,
    6917584101825961118,
    6917584103157388266,
    6917584158025113207,
    6917584165506572839,
    6917584169880355609,
    6917584172927535610,
    6917584175729441349,
    6917584179948190159,
    6917584179963637675,
    6917584180271808000,
    6917584180385886402,
    6917584185369299327,
    6917584193300521952,
    6917584197660164760,
    6917584253784930692,
    6917584256699029488,
    6917584258337434141,
    6917584262102463874,
    6917584263608435504,
    6917584264893306175,
    6917584265150586979,
    6917584266810225066,
    6917584268011035012,
    6917584270019554473,
    6917584279358725951,
    6917584304462977413,
    6917584328803166751,
    6917584330373461748,
    6917584330588767332,
    6917584332742035346,
    6917584335409538146,
    6917584335495052718,
    6917584336073821769,
    6917584344711531507,
    6917584344758294258,
    6917584347474479858,
    6917584351277238691,
    6917584354362448900,
    6917584358283626510,
    6917584361429607744,
    6917584361454081323,
    6917584369585231941,
    6917584377307083963,
    6917584416152164310,
    6917584434863361907,
    6917584437885105355,
    6917584441759668352,
    6917584446400787463,
    6917584446556244207,
    6917584466298058026,
    6917584467451693304,
    6917584481409180566,
    6917584508504985368,
    6917584511757810835,
    6917584515921026451,
    6917584530019161411,
    6917584531133689721,
    6917584532013083537,
    6917584534734869962,
    6917584564244390272,
    6917584619219114489,
    6917584628895121336,
    6917584710855050181,
    6917584779126788135,
    6917584779369213814,
    6917584801223974274,
    6917584801773597642,
    6917584809791286682,
    6917584813921085142,
    6917584880507064007,
    6917584918572611232,
    6917584947345950393,
    6917585035166281676,
    6917585044356165726,
    6917585069335588360,
    6917585075789200216,
    6917585087257941068,
    6917585170011059280,
]

# 计算相邻差值
deltas = [ids[i + 1] - ids[i] for i in range(len(ids) - 1)]

# delta % 4096 的频率
mod_4096 = [d % 4096 for d in deltas]
mod_counter = Counter(mod_4096)


# 计算二进制末尾零函数
def trailing_zeros(n):
    return (n & -n).bit_length() - 1 if n != 0 else 64


# 统计末尾零分布
tz_counts = Counter(trailing_zeros(d) for d in deltas)

# 可视化
plt.style.use("seaborn-v0_8")
fig, axs = plt.subplots(2, 1, figsize=(10, 8))

# delta % 4096 分布
axs[0].bar(mod_counter.keys(), mod_counter.values(), color="steelblue")
axs[0].set_title("Delta % 4096 分布")
axs[0].set_xlabel("delta % 4096")
axs[0].set_ylabel("频数")

# 末尾零分布
tz_keys = sorted(tz_counts.keys())
axs[1].bar(tz_keys, [tz_counts[k] for k in tz_keys], color="darkorange")
axs[1].set_title("Delta 二进制末尾零分布")
axs[1].set_xlabel("Trailing Zeros (bit)")
axs[1].set_ylabel("频数")

plt.tight_layout()
plt.savefig("id_delta_analysis.png")

# 输出统计结果
print("Delta % 4096 最常见的余数:", mod_counter.most_common(100))
print("Trailing zeros 分布:", dict(tz_counts))

print(mod_4096)
print(deltas)

deltas.sort()

for x in [(ids[i], ids[i + 1] - ids[i]) for i in range(len(ids) - 1)]:
    print(x)
